The present invention relates to bit error detection, and more particularly to the capturing of analog waveforms representing digital data within which bit errors are detected.
In modern digital systems data are transmitted between devices over serial data interfaces using a high speed encoding/decoding protocol, such as the 8B/10B encoding/decoding protocol described in U.S. Pat. No. 6,977,599 issued to International Business Machines Corporation. In this encoding/decoding protocol, which has become essentially an industry standard, 8-bit data bytes are encoded into 10-bit Transmission Characters to improve the physical signal. The 10-bit Transmission Characters are then converted into a serial bit stream for transmission over a high speed serial bus. At the receiving device the serial bit stream is converted back to the 10-bit Transmission Characters which are then decoded to recover the original 8-bit data bytes.
Option PTD for the Tektronix TDS6000C digital oscilloscopes provides trigger and decoding features for greater insight when analyzing 8B/10B encoded serial data streams. This option enables users to simultaneously view waveform, character and protocol activity, simplifying validation of link-level communications and isolation of data-dependent faults. It provides direct hardware-based triggering on 8B/10B character sequences, i.e., pattern matching. The 8B/10B encoded serial data stream is converted to 10-bit Transmission Characters, decoded into 8-bit bytes and matched with a desired 8-bit pattern or character to generate the trigger signal for capturing the waveform of the 8B/10B serial data stream.
One of the characteristics that is specified for high speed digital equipment is called bit error rate (BER). The specification for BER typically equates to one bit error per hour. Due to degradation of the serial bit stream over transmission media or other processing, amplitude variations and jitter introduced into the serial bit stream may cause a bit state to be interpreted incorrectly by a receiving device, resulting in a bit error. Currently serial data stream transmitters are tested using bit error rate testers (BERTs). BERTs provide a known data pattern to the transmitter at an input and then compares the serial data output from the transmitter with the pattern at the input in a logical OR operation. If there are any bit errors resulting from the comparison, a bit error counter is incremented. After a specified period of time the BER for the device is computed from the bit error counter value.
The technical challenge is in testing a data receiver, as there is no observability as to what the receiver is doing. The receiver converts the serial data stream back to the 8-bit bytes. In order to test the receiver, the receiver is placed in a loopback mode where the 8-bit bytes are encoded and serialized to provide a re-transmitted serial data stream. When using a BERT to test the receiver, there is generally a discrepancy between the high precision BERT clock that generates the test data stream and the clock in the receiver that creates the re-transmitted data stream. This results in false bit errors recorded by the BERT when the clocks get sufficiently out of sync. Most receivers now use a mechanism called a re-timed loopback where at timed intervals a special string of bits that still comply with the encoding/decoding protocol are inserted into the re-transmitted data stream. Since these insertions are not in the original pattern sent from the BERT, the BERT records a series of bit errors that are erroneous. Attempts to compensate for this inserted data string result in very expensive BERTs, which are relatively expensive to begin with.
In any event the BER determined by a BERT does not give the user confidence that the counted bit errors are valid when testing a receiver. There is nothing currently available that provides the ability to capture the actual waveform when a bit error occurs so that a user may have a physical layer view of the serial data stream in the vicinity of the bit error to see the cause of the bit error detection.